package samsung.sds.system.common.baseQuery;

import java.util.List;

import samsung.sds.system.common.model.QueryParam;
/**
 * 基类Mapper
 * 提供通用的增删改查及分页方法。
 * 子类需要实现getMapper方法为Service提供Mapper
 * 
 * @author zhouyang wang
 *
 * @param <T> 实体 泛型
 */
public interface BaseMapper<T> {
	/**
	 * 插入信息
	 * @param t
	 * @return
	 */
	public int insertEntity(T t);
	/**
	 * 删除信息实体
	 * @param t
	 * @return
	 */
	public int deleteEntity(T t);	
	/**
	 * 更新信息
	 * @param t
	 * @return
	 */
	public int updateEntity(T t);
	/**
	 * 根据设置的属性值查找实体
	 * @param t
	 * @return
	 */
	public T findUniqueByProperty(T t);
	
	/**
	 * 根据设置的属性值查找实体
	 * @param t
	 * @return
	 */
	public T queryEntityById(String id);
	/**
	 * 返回查询一览表的信息
	 * @param param
	 * @return
	 */
	public List<T> queryList(QueryParam param);
	/**
	 * 查询带分页的list
	 * @param page
	 * @return
	 */
	public List<T> queryListPage(QueryParam param);
	
}
